package br.gov.mi.corporativo.dominio.boundary.rhmi.funcionariotelefone;

import java.util.List;

import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.context.support.SpringBeanAutowiringSupport;

import br.gov.mi.corporativo.dominio.boundary.rhmi.funcionariotelefone.FuncionarioTelefoneEndPoint;
import br.gov.mi.corporativo.dominio.entidade.rhmi.FuncionarioTelefone;

@Path("funcionariotelefone")
public class FuncionarioTelefoneRestAdapter extends SpringBeanAutowiringSupport {


	@Autowired
	private FuncionarioTelefoneEndPoint service;
	
	@GET
	@Produces({MediaType.APPLICATION_JSON})
	public Iterable<FuncionarioTelefone> recuperarTodos(){
		return service.recuperarTodos();
	}
	
	@GET
	@Path("id/{idFuncionarioTelefone}")
	@Produces({MediaType.APPLICATION_JSON})
	public FuncionarioTelefone recuperarPorIdFuncionarioTelefone(@PathParam("idFuncionarioTelefone")Long idFuncionarioTelefone){
		return service.recuperarPorIdFuncionarioTelefone(idFuncionarioTelefone);
	}
	
	@GET
	@Path("tipotelefone/{idTipoTelefone}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorIdTipoTelefone(@PathParam("idTipoTelefone")Long idTipoTelefone){
		return service.recuperarPorIdTipoTelefone(idTipoTelefone);
	}
	
	@GET
	@Path("funcionario/{funcionario}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorFuncionario(@PathParam("funcionario")Long funcionario){
		return service.recuperarPorFuncionario(funcionario);
	}
	
	@GET
	@Path("telefone/{nrTelefone}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorNrTelefone(@PathParam("nrTelefone")String nrTelefone){
		return service.recuperarPorNrTelefone(nrTelefone);
	}
	
	@GET
	@Path("nrRamal/{nrRamal}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorNrRamal(@PathParam("nrRamal")String nrRamal){
		return service.recuperarPorNrRamal(nrRamal);
	}
	
	@GET
	@Path("ddd/{nrDdd}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorNrDdd(@PathParam("nrDdd")String nrDdd){
		return service.recuperarPorNrDdd(nrDdd);
	}
	
	@GET
	@Path("ddi/{nrDdi}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorNrDdi(@PathParam("nrDdi")String nrDdi){
		return service.recuperarPorNrRamal(nrDdi);
	}
	
	@GET
	@Path("stregistro/{stRegistro}")
	@Produces({MediaType.APPLICATION_JSON})
	public List<FuncionarioTelefone> recuperarPorStRegistro(@PathParam("stRegistro")String stRegistro){
		return service.recuperarPorStRegistro(stRegistro);
	}
	
	

}
